package com.application.model.universidades.quevasaestudiar.manager;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.application.model.RetrivierWeb;

public class ManagerBusqueda extends RetrivierWebQueVas{

	private ManagerDetalle			managerDetalle;
	private ManagerUniversidad		managerUniversidad;
	
	
	public ManagerBusqueda(ManagerQueVasEntity informacion) {
		super(informacion);
		managerDetalle = new ManagerDetalle(informacion);
		managerUniversidad = new ManagerUniversidad(informacion);
	}
	

	
	@Override
	public void processContent(String data, String parentName) {
        processContentBusqueda(data,parentName);
	}
	public void processContentBusqueda(String data, String parentName) {
    	Pattern     pattern = null;
        Matcher     matcher = null;
        String      regex = null;
    	//infoWindowAnchor = new GPoint(.*?)GUnload()
        //data = unescapeHtml(data);
        //data = StringEscapeUtils.escapeSql(data);
    	regex = "<!-- inicio resultado_detalle_carreras -->(.*?)<h1><a href=\"/(.*?)\" target=\"_self\"(.*?)<!-- fin resultado_detalle_carreras -->";
        pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE|Pattern.MULTILINE|Pattern.DOTALL|Pattern.UNICODE_CASE|Pattern.UNIX_LINES);
        matcher = pattern.matcher(data);
        
        while (matcher.find()) {
        	procesarAvisos(matcher.group(2),parentName);
        }
        
    }
	
	private void procesarAvisos(String url, String zonaKey) {
    	String data = "";
    	String urlWeb = "";
    	String beginPatter = "<!-- inicio resultado_detalle -->";
    	String endPatter = "<!-- fin resultado_detalle -->";
    	String charset = "utf-8";
    	urlWeb = "http://www.quevasaestudiar.com/"+url;
    	//nombre de la carrera encontrada
		data = getWebPageContent(urlWeb, beginPatter, endPatter, charset);
		Pattern     pattern = null;
        Matcher     matcher = null;
        String      regex = null;
    	//infoWindowAnchor = new GPoint(.*?)GUnload()
        //data = unescapeHtml(data);
        //data = StringEscapeUtils.escapeSql(data);
    	regex = "<a href=\"/(.*)\" target=\"_self\">Detalle \\[\\+\\]</a>";
        pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE|Pattern.MULTILINE|Pattern.DOTALL|Pattern.UNICODE_CASE|Pattern.UNIX_LINES);
        matcher = pattern.matcher(data);
        
        while (matcher.find()) {
        	procesarUniversidad(matcher.group(1));
        }
	}
	
	private void procesarUniversidad(String url) {
		String beginPatter = "<!-- inicio resultado_detalle -->";
		String endPatter = "<div id=\"detalle08_3\">";
		String charset = "utf-8";
		String urlWeb = "";
		urlWeb = "http://www.quevasaestudiar.com/"+url;
		urlWeb = urlWeb.replaceAll(" ", "%20");
		//url de la universidad
		managerUniversidad.retrivie(urlWeb, urlWeb, beginPatter, endPatter, charset);
		
	}


	@Override
	public void retrieve() {		
	}
	
}
